package main

import "fmt"

//数组是值类型 拷贝
//方法内部会拷贝 原数组

func main() {
	var arr [5]int
	arr2 := [3]int{1,3,5}
	arr3 := [...]int{2,4,5,6}
	var grid [4][5]int //定义4行5列 二维数组

	fmt.Print(arr, arr2, arr3, grid)

	for i := 0; i < len(arr3); i++ {
		fmt.Print(arr3[i])
	}

	for i, v := range arr3{
		fmt.Print(arr3[i])
		fmt.Print(v)
	}

	sum := 0

	for _, v := range arr2 {
		sum += v
	}
	fmt.Print(sum)

	printArray(&arr) // 指针传递 方法内部修改外部也会变化
	//printArray(arr2)  // 传递数组长度跟要求不符
}

func printArray(arr *[5]int) {
	arr[0] = 100
	for i, v := range arr {
		fmt.Println(i, v)
	}
}